package com.itheima.config;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.PropertySource;

import javax.sql.DataSource;

/**
 * @param配置数据源的配置类
 * @return
 *
 */
@PropertySource("classpath:db.properties")//在这里加载外部资源文件
public class DbConfig {
    //这里声明全局变量，然后赋值给下面这个获取数据源对象方法里的变量
    //这里的变量是要从外部资源配置文件中获取连接数据库的四大基本特征
    //需要用到注解
    @Value("${jdbc.driver}")
    private String driver;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;

    //创建一个 方法获取数据源对象
    @Bean("dataSource")//这个注解的目的就是将这个类放入IOC容器，以供框架获取，应该是吧
    public DataSource getDataSource(){
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName(driver);
        ds.setUrl(url);
        ds.setUsername(username);
        ds.setPassword(password);
        return ds;
    }
}
